/*
 * File:   triangle.h
 * Author: gustavo
 *
 * Created on August 22, 2011, 5:21 AM
 */

#ifndef TRIANGLE_H
#define	TRIANGLE_H

#ifdef	__cplusplus
extern "C" {
#endif

	/* ========================================================================== */
#include "../object/object.h"
#include "edge.h"


	//	ImpTriangleClass * imp_triangle_get_class(void);
	//	ImpTriangle * imp_triangle_new(ImpEdge * e1, ImpEdge * e2, ImpEdge * e3);
	//	void imp_triangle_set(ImpTriangle * t, ImpEdge * e1, ImpEdge * e2, ImpEdge * e3);
	//
	//	void imp_triangle_extract(ImpTriangle * t, ImpEdge * e,
	//			ImpVertex ** v1,
	//			ImpVertex ** v2,
	//			ImpVertex ** v3,
	//			ImpEdge ** e1,
	//			ImpEdge ** e2,
	//			ImpEdge ** e3);
	//	void imp_triangle_extract_vertices(ImpTriangle * t,
	//			ImpVertex ** v1,
	//			ImpVertex ** v2,
	//			ImpVertex ** v3);
	//	void imp_triangle_extract_vertices_and_edges(
	//			ImpTriangle * t,
	//			ImpVertex ** v1,
	//			ImpVertex ** v2,
	//			ImpVertex ** v3,
	//			ImpEdge ** e1,
	//			ImpEdge ** e2,
	//			ImpEdge ** e3);
	//
	//	boolean imp_triangle_have_vertex(ImpTriangle * t, ImpVertex * v);
	//	//boolean imp_triangle_have_edge(ImpTriangle * t, ImpEdge * e);
	//#define imp_triangle_have_edge( T, e ) ( T->e[0] == e || T->e[1] == e || T->e[2] == e )
	//
	//	ImpVertex * imp_triangle_get_opposite_vertex(ImpTriangle * t, ImpEdge * e);
	//	ImpEdge * imp_triangle_get_opposite_edge(ImpTriangle * t, ImpVertex * v);
	//	ImpTriangle * imp_triangle_get_opposite_triangle(ImpTriangle * t, ImpEdge * e);
	//	ImpTriangle * imp_triangle_get_neighbor(ImpTriangle * T, ImpEdge * e);
	//	ImpEdge * imp_triangle_get_shared_edge(ImpTriangle *T1, ImpTriangle *T2);
	//
	//	ImpPoint imp_triangle_barycenter(ImpTriangle * t);
	//	ImpIntersect imp_triangle_intersect_point(ImpTriangle * t,
	//			ImpPoint * p,
	//			ImpEdge ** eon);
	//	ImpIntersect imp_triangle_circle_intersect_point(ImpTriangle * t,
	//			ImpPoint * p);
	//	
	//	boolean imp_triangle_is_ok(ImpTriangle * t);
	//
	//
	//	void imp_triangle_print(ImpTriangle * t);


#ifdef	__cplusplus
}
#endif

#endif	/* TRIANGLE_H */

